﻿html {
    font-size: 16px;
}

#confirm-div {
    display: none !important;
}

:root {
    --font-size: 16px;
    --body-font: 'Open Sans', sans-serif;
    --header-height: 56px;
    --nav-width: 92px;
    --bs-font-size: 14px;
    --bs-line-height: 20px;
    --z-fixed: 100;
    --bs-padding: 24px;
    --sched-padding: 4px;
    --text-color: #03102a;
    --primary-color: #1052d4;
    --secondary-color: #FEC24E;
    --text-p-color: #888F9A;
    --text-h4-color: #414B5D;
    --line-color: #EBECED;
    --disable: #D0D2D7;
    --bg: #EEF8FF; 
    --primary-bg: #E9F0FD;
    --gray-bg: #e9ecef;
}


body {
    position: relative;
    margin: 0 !important;
    transition: .5s;
    min-height: calc(100% - var(--header-height) - 1px);
    font-family: var(--body-font);
    font-size: var(--bs-font-size);
    color: var(--text-color);
    text-align: left;
    letter-spacing: normal;
    background: none;
} 

.mb-1 {
    margin-bottom: .25rem !important;
}

/*** scroll ***/
::-webkit-scrollbar {
    width: 5px;
    height: 3px;
}

::-webkit-scrollbar-thumb {
    background: rgba(6, 23, 50, 0.5);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(6, 23, 50, 0.7);
}

::-webkit-scrollbar-track {
    background: rgba(6, 23, 50, 0.1);
}

button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
}

.close {
    float: right;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
}

.modal-backdrop { 
    background-color: rgba(6,6,6,0.149) !important;
}

.modal-footer {
    border-top: 0;
    margin-top: 0;
}

.shadow-gray-drop {
    box-shadow: 0px 0px 10px rgba(149, 157, 165, 0.1), inset 0px 1px 1px #FFFFFF;
}

.shadow-gray-pop {
    box-shadow: 0px 0px 1px rgba(13, 39, 80, 0.05), 4px 4px 20px rgba(13, 39, 80, 0.1);
}

.loader {
    border: 2px solid var(--disable);
    border-top: 2px solid var(--primary-color);
    border-radius: 50%;
    width: 16px;
    height: 16px;
    float: left;
    display: inline-block;
    animation: spin 2s linear infinite;
    margin-right: 0.5rem;
}

.empty {
    text-align: center;
    margin-top: var(--bs-padding);
}

.empty img {
    width: 3rem;
    height: 3rem;
}

.empty small {
    color: var(--disable);
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*** tags ***/
h1 {
    color: var(--text-color);
    font-weight: bold;
    font-size: calc( var(--bs-font-size) + 22px );
    line-height: calc( var(--bs-line-height) + 28px );
    font-family: var(--body-font);
}

h2 {
    color: var(--text-color);
    font-weight: bold;
    font-size: calc( var(--bs-font-size) + 16px );
    line-height: calc( var(--bs-line-height) + 20px );
    font-family: var(--body-font);
}

h3 {
    color: var(--text-color);
    font-weight: 700;
    font-size: calc( var(--bs-font-size) + 7px );
    line-height: calc( var(--bs-line-height) + 12px );
    margin-bottom: var(--bs-padding);
    font-family: var(--body-font);
}

h4 {
    font-size: calc(var(--bs-font-size) + 2px);
    line-height: calc(var(--bs-line-height) + 6px);
    margin-bottom: 0;
    color: var(--text-color);
    font-weight: 700;
    font-family: var(--body-font);
}

h5 {
    color: var(--text-color);
    font-weight: 600;
    font-size: var(--bs-font-size);
    line-height: var(--bs-line-height);
    font-family: var(--body-font);
}

h6 {
    color: var(--text-p-color);
    font-weight: 600;
    font-size: calc( var(--bs-font-size) - 2px );
    line-height: calc( var(--bs-line-height) - 4px );
    font-family: var(--body-font);
}

p {
    color: var(--text-color);
    font-weight: normal;  
    margin-bottom: 0; 
}

small {
    color: var(--text-p-color);
    font-weight: normal;
    font-size: calc( var(--bs-font-size) - 2px );
    line-height: calc( var(--bs-line-height) - 0px);
    font-family: var(--body-font);
}

.small {
    font-size: calc( var(--bs-font-size) - 1px );
    line-height: calc( var(--bs-line-height) - 1px );
    font-family: var(--body-font);
}


.banktitle {
    color: rgba(3, 16, 42, 0.6);
    font-weight: 600
}

.banklist {
    border-top: 1px solid var(--line-color) !important;
    font-size: calc(var(--bs-font-size) - 1px);
    line-height: calc(var(--bs-line-height) - 1px);
} 

a {
    color: #0d6efd;
}

/*** Custom ***/

.btn {
    font-size: calc( var(--bs-font-size) - 2px);
    line-height: calc( var(--bs-line-height) - 4px );
    border: none;
    margin: 0 0.25rem;
    padding: 0.5rem 0.75rem;
}

button svg.bi-chevron-right path {
    fill: currentColor;
}

.btn-primary {
    background-color: var(--primary-bg);
    color: var(--primary-color);
}

.btn-primary:hover {
    color: #fff;
    background-color: var(--primary-color);
}

.btn-primary img {
    width: 16px;
    height: 16px;
    filter: invert(35%) sepia(36%) saturate(5564%) hue-rotate(212deg) brightness(96%) contrast(95%);
}

.btn-primary:hover img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(325deg) brightness(107%) contrast(102%);
}

.btn-primary1 {
    color: #fff;
    background-color: var(--primary-color);
}

.btn-primary1:hover {
    background-color: var(--primary-bg);
    color: var(--primary-color);
}

.btn-primary1 img {
    width: 16px;
    height: 16px;
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(325deg) brightness(107%) contrast(102%);
}

.btn-primary1:hover img {
    filter: invert(35%) sepia(36%) saturate(5564%) hue-rotate(212deg) brightness(96%) contrast(95%);
}

.btn-outline-danger {
    color: #dc3545;
    border-color: #dc3545;
    background-color: transparent;
}

.btn-outline-danger:hover {
    color: rgba(220, 53, 69, 1);
    background-color: rgba(220, 53, 69, 0.15);
}

.btn-danger {
    color: rgba(220, 53, 69, 1);
    background-color: rgba(220, 53, 69, 0.15);
}

.btn-danger:hover {
    color: #fff;
    background-color: rgba(220, 53, 69, .9);
}

.btn-secondary {
    background-color: #E2E6EA;
    color: var(--text-h4-color);
}

.input-group-append .search-btn {
    background-color: var(--primary-bg) !important;
    margin: 0;
    border: 1px solid #ced4da !important;
    border-left: 0;
}

.input-group-append button svg path {
    fill: #286CEF;
}

.input-group-append button:hover {
    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
}

.input-group-append button:hover svg path {
    fill: #fff;
}

.search-btn, .input-group-append button:focus {
    background-color: var(--primary-bg);
}

.settings-btn {
    background-color: var(--primary-bg);
    border: 1px solid var(--primary-bg) !important;
    border-left: 0;
}

input[type="radio"]:checked {
    border: 4px solid var(--primary-color);
}

/*input {
    accent-color: var(--primary-color);
}*/

.alert-gray {
    background-color: var(--gray-bg);
    padding: calc( var(--bs-padding) - 0.5rem);
    font-size: calc( var(--bs-font-size) - 1px );
    line-height: calc( var(--bs-line-height) - 2px );
    border-radius: 5px;
    display: flex;
    gap: 5px;
    align-items: center;
}

.alert-gray img { 
    filter: none; 
    width: 20px;
    height: 20px;
    display: none;
}

.alert-gray.list svg {
    color: var(--text-color);
    margin-top: -4px;
    width: 24px;
    height: 24px;
    padding: 3px;
    border-radius: 50%;
    border: 1px solid #fff;
}

.alert-gray b {
    font-weight: 600;
    color: var(--text-h4-color);
}

/*Tab*/
.my-tabs {
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(216, 218, 220, 0.5);
}

.my-tabs .tab-name {
    margin-bottom: 8px;
    padding: 0 1px;
}

.my-tabs .tab-name:hover span {
    color: var(--primary-color);
    cursor: pointer;
}

.my-tabs .line {
    width: 100%;
    background-color: var(--primary-color);
    border-radius: 1px;
    height: 2px;
    bottom: 0;
    visibility: hidden;
}

.my-tabs .active .line {
    visibility: visible;
}

.my-tabs .active span {
    color: var(--primary-color);
    font-weight: 600;
}

svg.apexcharts-svg path {
    stroke-width: 1;
}

svg.apexcharts-svg line {
    /*stroke-width: 0.5;*/
    stroke: var(--line-color);
}

.apexcharts-toolbar {
    display: none !important;
}

#app {
    height: calc(100% - var(--header-height));
}

.content-body {
    /*min-height: 100vh;*/
    padding: var(--bs-padding);
}

.row {
    --bs-gutter-x: var(--bs-padding);
    --bs-gutter-y: 0;
    margin-right: -15px !important;
    margin-left: -15px !important;
}
.row > * {
    flex-shrink: 0;
    /*width: 100%;*/
    /*max-width: 100%;*/
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}

.float-left {
    float: left;
}

.float-right {
    float: right;
}
 
svg.bi-chevron-right {
    transition: all .25s;
}

svg.bi-chevron-right path {
    /*70%*/
    /*fill: #121e35b3;*/
    fill: #121e35cc;
}

.show .footer {
    display: block;
} 

/*Top menu*/
.top-menu #main-section {
    min-height: 65vh;
    margin-bottom: 0;
}

.top-menu table {
    margin-bottom: 55px;
}

.top-menu table td {
    border-bottom: 1px solid var(--gray-bg);
}

.top-menu .section-bottom {
    position: absolute;
    bottom: calc(var(--bs-padding)*2);
    margin-bottom: 0;
}

.top-menu .input-settings:hover .per-page-select {
    display: block;
}

.top-menu .per-page-select {
    position: absolute;
    right: calc(var(--bs-padding)*2);
    z-index: 10;
    display: none;
    /*min-width: 160px;*/
    padding: 1.5rem;
    font-size: 14px;
    list-style: none;
    background-color: #fff;
    border: 1px solid var(--line-color);
    border-radius: 4px;
    background-clip: padding-box; 
    box-shadow: 0px 0px 10px rgba(149,157,165,0.10), inset 0px 1px 1px #ffffff;
}

.top-menu .per-page-select select {
    margin-top: 8px;
}

.top-menu #main-section .form-group {
    width: 100%;
}

.list-item {
    display: inline-block;
    width: 100%;
    padding: 1rem;
    margin: 0.5rem 0;
    border-radius: 5px;
    border: 1px solid var(--line-color);
}


.footer {
    display: none;
    bottom: 16px;
    position: absolute;
    width: 100%;
}

.footer p {
    font-size: 12px;
    text-align: center;
}

.body-pd {
    padding-left: calc(var(--nav-width));
    padding-top: var(--header-height);
}

#body-pd {
    padding-top: var(--header-height);
}


.l-navbar .num {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: var(--bs-padding);
}

.show .num {
    display: flex;
    flex-direction: row;
}

.l-navbar .num-logo {
    display: inline-block;
    width: 40px;
}

.show .num-logo {
    width: 50px;
    margin-right: 1rem;
}

.l-navbar .sisi {
    display: none;
}

.show .sisi {
    display: inline-block;
    margin-bottom: 0;
}

.header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    z-index: var(--z-fixed);
    transition: .5s;
    background: linear-gradient(90.07deg, #113B7E 0%, #03A6E6 100%);
    height: var(--header-height);
}

.header .navbar {
    padding: 0;
    position: relative;
    display: flex;
    box-shadow: 0px 0px 1px rgba(149, 157, 165, 0.3);
    width: 100%;
}

.l-navbar {
    position: fixed;
    left: -30%;
    width: var(--nav-width);
    transition: .5s;
    z-index: 10;
    height: 100%;
    box-shadow: 4px 4px 20px rgba(13, 39, 80, 0.4); 
}


.header_toggle {
    position: absolute;
    top: 45%;
    left: calc(100% - 20px);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #FFF;
    transform: translateY(-50%);
    color: #061732;
    text-align: center; 
    box-shadow: 0px 0px 15px rgba(149,157,165,0.30), inset 0px 0px 4px rgba(149,157,165,0.05);
    transition: all 0.5s ease;
    cursor: pointer;
    visibility: hidden;
    padding: 6px;
}

.header_toggle .icon {
    color: #061732;
    font-size: 20px;
    text-align: center;
    margin: auto;
    margin-top: 4px;
}

.header_toggle span .bi-chevron-right {
    display: none;
}

.header_toggle span .bi-chevron-left {
    display: block;
}

.header_toggle span.open .bi-chevron-right {
    display: block;
}

.header_toggle span.open .bi-chevron-left {
    display: none;
}

.nav {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    transition: transform .6s ease-in-out;
    transition-timing-function: ease-in-out;
}

.nav:hover {
    overflow: auto;
    overflow-x: hidden;
}

.nav_left {
    display: grid;
    grid-template-columns: max-content max-content;
    align-items: center;
    column-gap: 1rem;
    padding: .5rem 0 .5rem 0rem;
}

.nav_left svg {
    font-size: 1.25rem;
    color: #FFF;
}

.nav_logo-name {
    font-size: 1rem;
    text-align: left;
    font-family: inherit;
    color: #fff !important;
    flex: auto;
}

.nav_link {
    display: flex;
    grid-template-columns: auto;
    align-items: center;
    column-gap: .5rem;
    margin: .5rem 1.5rem;
    padding: .75rem;
    position: relative;
    color: var(--text-color);
    transition: .3s;
    font-weight: 500;
    border-radius: 6px;
    text-decoration: none;
}

.nav_list {
    margin: var(--bs-padding) 0;
}

.nav_list .fill, .nav_list .router-link-exact-active .line {
    display: none;
}

.nav_list .router-link-exact-active .fill, .active .links_name {
    display: block;
    color: var(--primary-color) !important;
}

.nav_link .line img {
    filter: invert(35%) sepia(26%) saturate(300%) hue-rotate(179deg) brightness(99%) contrast(88%);
}

.nav_link .fill img {
    filter: invert(35%) sepia(36%) saturate(5564%) hue-rotate(212deg) brightness(96%) contrast(95%);
}

.nav_link:hover {
    color: var(--primary-color);
}

.nav_link:hover .line img {
    filter: invert(35%) sepia(36%) saturate(5564%) hue-rotate(212deg) brightness(96%) contrast(95%);
}

.nav_link .fill img, .nav_link .line img {
    height: 20px;
    width: 20px;
    font-size: 0 !important;
}

.nav_icon { 
    font-size: 1.25rem;
}

.nav_list .router-link-exact-active {
    color: var(--primary-color) !important;
    font-weight: 500;
    /*background-color: var(--primary-bg);*/
    background: rgba(255, 255, 255, 0.45);
    backdrop-filter: blur(100px);
}

.nav_list .nav_link .tooltip {
    position: absolute;
    top: -20px;
    left: calc(100% - 3px);
    z-index: 3;
    background: var(--primary-color);
    box-shadow: 0px 0px 1px rgba(149, 157, 165, 0.3);
    color: #FFF;
    border-radius: 2px;
    font-size: 15px;
    font-weight: 400;
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
    transition: 0s;
}

.nav_list .nav_link:hover .tooltip {
    opacity: 1;
    pointer-events: auto;
    transition: all 0.4s ease;
    top: 50%;
    transform: translateY(-50%);
    padding: 12px;
    z-index: 10000 !important;
}

.show .nav_list .nav_link .tooltip {
    display: none;
}

#body-pd .pro .name, #body-pd .nav_link .nav_name {
    display: none;
}

#body-pd .show .pro .name, #body-pd .show .nav_link .nav_name {
    visibility: visible;
    display: inline-block;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-left: 0.25rem;
}

#custom-page {
    padding-top: 30px;
}

#custom-page .col-sm-8 .links {
    padding: 10px 50px;
}

.l-navbar:hover .header_toggle {
    visibility: visible;
}

.portrait {
    margin-top: 1rem;
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    justify-content: flex-start;
    display: inline-block;
    overflow: hidden;
    float: left;
}

.portrait img {
    width: 100%;
    height: auto;
    border: 0;
}

.portrait hr {
    transform: rotate(90deg);
    margin: auto;
    opacity: 0;
    color: var(--line-color);
    background-color: var(--line-color);
}

/****Driver menu****/
.bm-burger-button {
    position: absolute !important;
    width: 18px !important;
    height: 16px !important;
    left: 16px !important;
    top: 21px !important;
    cursor: pointer !important;
}

.bm-burger-bars {
    background-color: var(--text-h4-color) !important;
}

.bm-burger-bars:last-child {
    top: 75% !important;
}

.bm-item-list .router-link-exact-active, .log-out.active .nav_name {
    color: var(--primary-color) !important;
    font-weight: 500;
    background-color: var(--primary-bg) !important;
}

.line-style {
    position: absolute !important;
    height: 10% !important;
    left: 0 !important;
    right: 0 !important;
    border-radius: 5px;
}

.cross-style {
    position: absolute !important;
    top: 12px !important;
    right: 2px !important;
    cursor: pointer !important;
    display: none !important;
}

.bm-cross {
    background: #bdc3c7 !important;
}

.bm-cross-button {
    height: 24px !important;
    width: 24px !important;
}

.bm-menu {
    height: 100% !important;
    min-height: 100vh;
    width: 0;
    position: fixed !important;
    z-index: 1000;
    top: 0 !important;
    left: 0 !important;
    background: #fff !important;
    overflow-x: hidden !important;
    padding-top: 0 !important;
    transition: 0.5s !important;
    box-shadow: 8px 10px 200px rgba(13,39,80,0.30) !important;
}

.bm-menu .footer {
    bottom: 0 !important;
    position: absolute !important;
    padding: 16px 24px !important;
    width: 100% !important;
}

.bm-menu .footer P {
    text-align: center !important;
}

.bm-overlay {
    background: rgba(0, 0, 0, 0.3);
}

.bm-item-list {
    color: currentColor !important;
    margin-left: 0 !important;
    font-size: 20px !important;
}

.bm-item-list .name {
    margin-left: 10% !important;
    color: rgba(6, 23, 50, 1) !important;
}

.bm-item-list .nav_link {
    border: 0px;
    background: transparent;
    margin: 0.25rem 0.75rem !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bm-item-list .log-out {
    bottom: 48px !important;
    position: absolute !important;
}

.bm-item-list .nav_link .nav_name {
    display: block !important;
}

.bm-item-list > * {
    display: flex !important;
    flex-direction: column !important;
    text-decoration: none !important;
    padding: 0.7em !important;
}

.bm-item-list .tooltip {
    display: none;
}


@media screen and (min-width: 768px) {
    .header_img {
        width: 40px;
        height: 40px
    }

        .header_img img {
            width: 45px
        }

    .l-navbar {
        left: 0;
    }
}


.mobile-hide {
    display: block;
}

.web-hide {
    display: none;
}

/* Extra small devices (phones) */
@media only screen and (max-width: 600px) {
    :root {
        --bs-font-size: 14px;
        --bs-padding: 24px;
        --fld-bg: #F5F7FB;
        --fld-border: #E6EAF2;
        --fld-text: #111827;
        --fld-muted: #6B7280;
        --focus: rgba(59,130,246,.18);
        --text: #111827;
        --muted: #6B7280;
        --card-bg: #F4F7FF;
        --card-border: #E6E9F5;
        --accent: #0F172A;
        --radius: 16px;
        --shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    } 

    .body-pd {
        padding: 0;
    }

    .mobile-hide {
        display: none;
    }

    .web-hide {
        display: block;
    }

    .container-fluid {
        margin: auto;
        justify-content: center !important;
    }

    .nav_logo-name {
        flex: inherit;
    }

    .btn {
        font-size: 14px;
        padding: 8px;
        width: 50%;
    } 
     
    .content-body {
        padding: 1rem;
    }

    .card.course {
        padding: 16px;
    }

    .step-1 table tbody td, .step-1 table thead th, .step-1 table tfoot td {
        padding: 0.5rem 0.25rem !important;
    }

    .step-1 table thead th, .step-1 table tfoot td {
        font-size: 12px;
    }

    .credit-fee {
        display: none;
    }

    .selection {
        margin: 0 !important;
    }

    .selection p, .step-body p.alert, .step-2 table tbody td {
        font-size: 13px !important;
    }

    .selection img {
        margin-left: .75rem !important;
        margin-right: .25rem !important;
    }

    .step-body, .step-2 .table, .step-1 .table {
        border: 0 !important;
        margin: .5rem 0 !important;
        padding: 1rem !important;
    }

    .portrait {
        width: 45px;
        height: 45px;
    }  

    body {
        font-family: Montserrat;
        font-size: var(--bs-font-size);
        position: relative;
        margin: 0 !important;
        transition: .5s;
        color: var(--text-color);
        text-align: left;
        letter-spacing: normal;
        background: none;
    }

    .btn-primary {
        border-radius: 12px;
        padding: 14px;
        background-color: #1052D4;
        color: #fff;
        font-size: 16px;
    }

    .btn-secondary, .btn-outline-danger {
        border-radius: 12px;
        padding: 14px;
        background-color: #F1F4F9;
        color: #58616B;
        font-size: 16px;
    }

    .buttons {
        display: flex;
        justify-content: space-between;
    }

    .alert-gray {
        display: flex;
        gap: 5px;
        background-color: #FFEED1;
        border-radius: 12px;
        padding: 16px;
        align-items: flex-start;
    }

    .alert-gray small {
        display: block;
        color: #061732;
        font-style: normal;
        font-weight: 600;
        line-height: 20px;
    }

    .alert-gray p {
        display: flex;
        align-items: flex-start;
        gap: 5px;
    } 

    .alert-gray img {
        margin-top: 4px;
        display: block;
    }

    .small-text {
        font-style: normal;
        font-weight: 500;
        line-height: 20px;
    }

    .small { 
        font-family: Montserrat;
    } 

    .room-card {
        border: 1px solid #ccc;
        border-radius: 12px;
        padding: 14px 12px;
        background-color: #F1F4F9;
        font-size: 14px;
        gap: 10px;
        color: #333;
        box-shadow: 0 1px 3px rgba(0,0,0,0.1);
        display: flex;
        margin-bottom: 10px;
    }

    .room-card.is-selected {
        background-color: #E4EAFB;
    }

    .sub {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        gap: 4px;
        flex: 1 0 0;
    }

    .room-header {
        font-weight: bold;
        margin-bottom: 8px;
    }

    .room-labels {
        margin-bottom: 8px;
    }

    .room-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 4px 0;
    }

    .price {
        justify-content: end;
    }

    .form-group label {
        display: block;
        margin-bottom: 6px;
        font-size: 14px;
        font-weight: 600;
        color: #374151;
    }

    .form-control.small {
        width: 100%;
        height: 44px;
        padding: 10px 40px 10px 12px;
        border: 1px solid var(--fld-border);
        border-radius: 12px;
        background: var(--fld-bg);
        color: var(--fld-text);
        line-height: 22px;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
        background-repeat: no-repeat;
        background-position: right 12px center;
        background-size: 18px;
    } 

    .form-control.small:disabled {
        background: #F3F4F6;
        color: #9CA3AF;
        cursor: not-allowed;
    }

    .form-control.small.is-invalid {
        border-color: #EF4444;
        box-shadow: 0 0 0 3px rgba(239,68,68,.12);
    }
     
    .form-group.col-md-5:last-child {
        margin-right: 0;
    } 
     
    .bottom-cta {
        position: fixed;
        left: 20px;
        right: 20px;
        bottom: 0;
        z-index: 1050;
        padding: 12px 12px max(12px, env(safe-area-inset-bottom));  
        background: transparent;  
    }

    .bottom-cta-uld {
        position: fixed;
        left: 0;
        right: 0; 
        bottom: 58px; 
        z-index: 1051; 
        padding: 0;
        background: transparent;
        pointer-events: none;  
    }

    .bottom-cta-uld .room-summary {
        pointer-events: auto; 
        width: 100%;          
        background: var(--card-bg);
        border: 1px solid #E6E9F5;
        border-radius: 14px;
        box-shadow: 0 8px 24px rgba(15,23,42,.08);
        padding: 12px 14px;
    }

    .bottom-cta-uld .room-summary__stats {
        row-gap: 10px;
    }

    .bottom-cta-uld .room-summary__label {
        color: #6B7280;
        font-size: 13px;
    }

    .bottom-cta-uld .room-summary__value {
        font-weight: 700;
        font-size: 14px;
    }

    .bottom-cta .btn_choose {
        display: block;
        width: 100%;
        height: 48px;
        margin: 0 auto;
        border-radius: 14px;
        box-shadow: 0 6px 14px rgba(30,100,240,.25);
        font-weight: 600;
    }

    .chosen {
        font-weight: 600;
        font-size: 16px;
        color: #88939E;
    }

    .bottom-cta #btn_wait {
        display: block;
        width: 100%;
        height: 48px;
        margin: 0 auto;
        border-radius: 14px;
        box-shadow: 0 6px 14px rgba(30,100,240,.25);
        font-weight: 600;
    }
    .room-summary {
        background: var(--card-bg);
        margin-bottom: 20px;
        border-radius: var(--radius);
        box-shadow: var(--shadow);
        padding: 14px 16px;
    }

    .room-summary__header h3 {
        font-size: 14px;
        line-height: 1.35;
        color: var(--accent);
        margin: 0 0 4px;
        font-weight: 700;
    }

    .room-summary__meta {
        font-size: 12px;
        color: var(--muted);
        margin-bottom: 10px;
    }

    .room-summary__stats {
        display: grid;
        grid-template-columns: 1fr auto;
        row-gap: 8px;
        column-gap: 12px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .room-summary__label {
        font-size: 13px;
        color: var(--muted);
    }

    .room-summary__value {
        font-size: 14px;
        font-weight: 600;
        text-align: right;
        color: var(--text);
    }

    .room-summary__footer {
        display: flex;
        justify-content: flex-end;
        margin-top: 10px;
        font-size: 14px;
        gap: 6px;
    }

    .room-summary__footer strong {
        font-weight: 700;
    }

    .room-summary__stats {
        display: grid;
        grid-template-columns: 1fr auto;  
        gap: 6px 12px;  
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .room-summary__label {
        justify-self: start;
    }

    .room-summary__value {
        justify-self: end;
    } 
    .room-summary__divider {
        grid-column: 1 / -1; 
        border-top: 1px dashed var(--line-color, #d9d9d9);
        margin: 8px 0;  
        height: 0;  
    }

}

.mt-4 {
    margin-top: 1.5rem !important;
}

.py-2 {
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
}

.btn_choose {
    margin-top: 15px;
    float: right;
}

/* Small devices (portrait tablets and large phones) */
@media screen and (min-width: 600px) and (max-width: 768px) {
    .l-navbar.show {
        width: 0;
    }

    .body-pd {
        padding-left: 0;
    }
}
 
/* Large devices (laptops/desktops) */
@media screen and (min-width: 1025px) and (max-width: 1439px) {

    .l-navbar.show {
        width: calc(var(--nav-width) + 158px);
    }

    .body-pd {
        padding-left: calc(var(--nav-width) + 158px)
    }

    .plan-course .btns {
        display: inline-block !important;
        width: 100%;
    }

    .plan-course .btns .btn {
        width: 100% !important;
        margin: 0.25rem 0;
    }

    .plan-course .btns .alert {
        width: 100% !important;
        margin: 0.25rem 0;
    }
}

/* Extra large devices (large laptops and desktops) */
@media only screen and (min-width: 1440px) and (max-width: 1899px) {
    :root {
        --bs-font-size: 15px;
        --bs-padding: 32px;
    }

    .l-navbar.show {
        width: calc(var(--nav-width) + 188px)
    }

    .body-pd {
        padding-left: calc(var(--nav-width) + 188px)
    }

    .course-schedule div .left {
        min-width: 65% !important;
    }
}

/* Extra large devices (large laptops and desktops) */
@media only screen and (min-width: 1900px) {

    :root {
        --bs-font-size: 16px;
        --bs-padding: 32px;
    }

    .l-navbar.show {
        width: calc(var(--nav-width) + 188px)
    }

    .body-pd {
        padding-left: calc(var(--nav-width) + 188px)
    }

    .course-schedule div .left {
        min-width: 55% !important;
    }
}
 
/* Stud-sisi iframe */
#main-section {
    background: #FFFFFF;
    width: 100%;
    min-height: calc(100vh - var(--header-height) - (var(--bs-padding) * 4) - (var(--bs-line-height) + 12px));
    border-radius: 10px;
    padding: var(--bs-padding);
    margin-bottom: var(--bs-padding);
    display: inline-block;
}

#sub-section {
    background: #FFFFFF;
    width: 100%;
    /*min-height: 20vh;*/
    border-radius: 10px;
    padding: var(--bs-padding);
    margin-bottom: var(--bs-padding);
}

.small {
    font-size: calc( var(--bs-font-size) - 1px );
    line-height: calc( var(--bs-line-height) - 1px );
}

.shadow-gray-drop { 
    -webkit-box-shadow: 0px 0px 10px rgba(149,157,165,0.10), inset 0px 1px 1px #ffffff;
    box-shadow: 0px 0px 10px rgba(149,157,165,0.10), inset 0px 1px 1px #ffffff;
}

.table, th, td { 
    border: 1px solid #eaecec;
    text-align: center;
    border-radius: .25rem;
    font-size: calc(var(--bs-font-size) - 3px);
    vertical-align: top;
    border-bottom: 1px solid var(--line-color) !important;
    border-top: 1px solid var(--line-color) !important;
    padding: 6px 4px;
}
/*
table thead tr, table tfoot {
    border-bottom: 1px solid var(--line-color) !important;
    border-top: 1px solid var(--line-color) !important;
}*/

/*.table td, table td {
    border-bottom: 1px solid var(--gray-bg);
}*/


.card-header:first-child {
    border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}

.card-header {
    background: #FFFFFF;
    padding: 0;
    margin-bottom: 1.5rem;
    border: unset;
}

.card-text:last-child {
    margin-bottom: 0;
}

.card-text { 
    font-size: calc(var(--bs-font-size) - 1px);
    line-height: calc(var(--bs-line-height) - 1px);
}

table td label {
    display: inline-block;
    margin-bottom: 5px;
    font-weight: normal;
    color: var(--text-p-color);
}

.personal-task tbody tr td, .dormi-pay tbody tr td {
    border: none;
}
.personal-task tbody tr td {
    border: none;
}

.personal-task tbody tr td i {
    color: #c7cbd4;
}

.personal-task.table-hover > tbody > tr:hover > td,
.table-hover > tbody > tr:hover > th {
    background-color: #f7f8fc;
}

.personal-task.table-hover > tbody > tr:hover > td i {
    color: #39b5aa;
}

.merp {
    font-size: calc( var(--bs-font-size) - 2px );
    font-style: normal;
    font-weight: normal;
    line-height: calc( var(--bs-line-height) - 4px );
    text-align: justify;
}

.balance-val {
    background-color: #e9ecef;
    padding: 1rem;
    border-radius: .25rem;
    text-align: center;
    color: var(--primary-color);
    margin-bottom: 24px;
    font-size: 18px;
    font-weight: 600
}

.balance-val.danger {
    color: var(--bs-danger);
    font-weight: 500
}

.balance .btn-primary, .balance .btn-primary1 {
    width: 100%
}

.links .btn-primary, .links .btn-secondary, .links .payment-btn .btn-primary1 {
    width: 100%;
    margin: .25rem 0
}

.links .btn-primary1 {
    float: right
}

.hide {
    display: none;
}

.my-hover-alert {
    cursor: pointer;
    color: var(--secondary-color);
}

.my-hover-alert:hover + .hide {
    display: block !important;
    padding: 1rem;
    border-radius: 5px;
    position: absolute;
    right: 15px;
    background-color: #fff;
    box-shadow: 0px 0px 1px rgba(13, 39, 80, 0.05), 4px 4px 20px rgba(13, 39, 80, 0.1);
}

.table-borderless {
    border-collapse: collapse;
    border: 0 !important;
}

.table-borderless th,
.table-borderless td {
    border: 0 !important;  
    border-top: 0 !important; 
    border-bottom: 0 !important; 
    text-align: left;
    font-size: calc(var(--bs-font-size)-1px);
}